草庐IT

c++ - 包装第 3 方 DLL

全部标签

c++ - 在 Windows 7 中录制您所听到的音频

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WindowsVista/7:Howtosampleoutputaudiomix?如何用C/C++在Windows中录制你听到的音频流?该解决方案应该与Windows7兼容,据我所知,已经对此进行了一些更改。因此,一些程序(CamStudio)无法录制W-Y-H声音,而其他程序仍然(Camtasia、TotalRecorder)。他们是怎么做到的?如果我错了并且没有任何限制,我只是对如何开始收听和录制该音频流感兴趣。

windows - 了解对 dll 文件的注册表数据引用的负偏移量

我几乎有了mylastquestion的答案,但我需要帮助。Windows防火墙规则(Vista及更高版本)存储在注册表HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules示例规则:v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Domain|RPort=5722|App=%SystemRoot%\system32\dfsr.exe|Svc=Dfsr|Name=@FirewallAPI.dll

c - 使用 Windows slim 读/写锁

/*languageCcode*/#include"windows.h"typedefstructobject_s{SRWLOCKlock;intdata;}object_t,*object_p;/*ownandpointertype*/voidthread(object_px){AcquireSRWLockExclusive(&x->lock);//...dosomethingthatcouldprobablychangex->datavalueto0if(x->data==0)free(x);elseReleaseSRWLockExclusive(&x->lock);}voidma

c - 如何编写自己的基本磁盘扫描程序

我想编写一些基本的磁盘扫描器实用程序。基本上,我希望能够按照系统磁盘实用程序(如Windows中的错误检查和碎片整理)的方式读取写入磁盘的某个文件的原始字节。我想用C来做。我的第一步应该是什么?显然fopen是不够的。任何指导将不胜感激(我不要求解决方案,只是一些理论并朝着正确的方向推进,因为我什至不知道从哪里开始...)。 最佳答案 以下资源可能有用:http://support.microsoft.com/kb/100027http://www.codeproject.com/KB/system/rawsectorio.aspx

c++ - 在C++中实现C库函数

用C++实现C库有什么缺点?该库将用于使用VisualStudio2008或更新版本为普通PC构建Windows应用程序。目前尚不清楚为什么规范声明它应该是C库。我猜他们想要的是纯C-API,而不是纯C库。但我的老板不同意。无论如何,我想做的是extern"C"所有函数声明,并在实现文件中使用C++。我做了一些测试,即使应用程序被编译为C(通过更改VisualStudio中的项目选项),一切都运行良好。 最佳答案 我见过有人这样做是为了将STL集合暴露给C程序。如果您确定该库只会在具有健全的C/C++编译器(例如,仅限VS和gcc)

windows - 各种 Windows 版本附带的 Kernel32.dll 版本列表?

我正在尝试找出真正的Windows版本。出于某种原因,我的Wise安装程序有时会在Windows7上报告XP版本号。一种解决方案是查看此处提到的kernel32.dll版本:HowtodetecttrueWindowsversion?我正在尝试找出各种Kernel32.dll版本对应的Windows版本。 最佳答案 我找不到每个Windows版本的Kernel32.dll版本列表,但从测试(XPSP3、Vista、Windows7)来看,Kernel32.dll版本#(Major.Minor)与Windows版本相同.我具体找到了什

java - 使用 Windows 服务调用使用 JNI 和 LoadLibrary 的 Java 程序的问题

我正在创建一个调用java程序的Windows服务程序。这是部分代码,hModule是一个全局变量,在ServiceStart中调用了LoadLibrary,之后调用了invokeJVM。我设法启动了该服务并且它运行良好,但是,每当我停止该服务时,它都会给我一个错误:Windows无法停止本地计算机上的服务错误1067:Windows服务意外终止添加了额外的日志记录后,发现意外终止错误发生的地方是invokeJVM函数的返回。当我检查事件查看器时,它给了我一些BEX错误,谷歌搜索表明这是一个堆栈溢出错误,但我无法确定它的原因,知道为什么吗?HMODULEhModule;VOIDServ

c - 是否可以 Hook 任何时间检索功能

我需要Hook任何试图检索系统时间的函数,以便为不同的应用程序生成“时间无关”的重播。某些事件(如伪随机数生成)取决于对time()的调用,但例如其他一些事件会调用timeGetTime()或_time64()。我需要Hook(在Windows中)以捕获所有时间检索函数的最少函数集是什么。实际上有可能Hook这些功能吗?我试图在time()上完成它,但我的钩子(Hook)被忽略了。我已成功Hook到其他函数(如rand),但我的time()Hook似乎被忽略了。我正在使用Detours,但我愿意使用任何其他API拦截工具。 最佳答案

python - 避免将 DLL 放入 CWD

是否可以避免将DLL与使用它们的脚本放在同一目录中?我希望能够将一个DLL放在一个地方,并让任何脚本都可以访问它。ctypes.CDLL()似乎只能找到CWD中的DLL。将它们放在sys.path或System32中的某处是行不通的。具体来说,我试图让UniCurses找到pdcurses.dll,但它不在CWD中。 最佳答案 尝试:pdcurses_path=ctypes.util.find_library('pdcurses.dll')ifpdcurses_path:pdcurses=ctypes.CDLL(pdcurses_p

c - 如何检测内存数据是否已更改?

我正在学习windows编程,有一些疑问。我看到了一个保护内存数据的安全模块。如果一个进程要更改其他进程的内存,它会检测并关闭该进程。这在游戏或银行应用程序中经常用于反CheatEngine(我住在韩国,所以我认为这是最好的例子。几乎每个在线游戏或银行应用程序都有self防御算法。)我的问题是,是否有任何API或函数可以检测到这一点?谢谢。附言我可以举个例子,如果0x01000000内存数据是'A',一些不同的进程将其更改为'B'。当我第一次想到这个时,我认为我必须创建一个线程来检查数据,如果它发生变化,则关闭该进程。但我认为这不是一个好主意。有什么建议吗?